home *** CD-ROM | disk | FTP | other *** search
- function mKill()
- {
- this._parent.mKillObject(this);
- }
- function mPhysics(interval)
- {
- var newPosX = this.intPosX + this.intVelX * interval;
- var newPosY = this.intPosY + this.intVelY * interval;
- this.intPosX = newPosX;
- this.intPosY = newPosY;
- }
- function mStepFrame(interval)
- {
- this.mPhysics(interval);
- if(this.intRadius < 1)
- {
- this.intRadius = 20;
- }
- if(this.strID.length < 1)
- {
- this.strID = "obst";
- }
- var oChar = this._parent.oChar;
- var dX = Math.abs(oChar.intPosX - this.intPosX);
- if(dX < 200)
- {
- var arrPnts = oChar.mGetPoints();
- var hit = false;
- var i = 0;
- while(i < arrPnts.length)
- {
- var dX = this.intPosX - arrPnts[i].x;
- var dY = this.intPosY - arrPnts[i].y;
- var dAbs = Math.abs(Math.sqrt(dX * dX + dY * dY));
- if(dAbs < this.intRadius)
- {
- var hit = true;
- }
- i++;
- }
- if(hit)
- {
- oChar.mCollide(this.strID);
- }
- }
- if(oChar.intPosX - this.intPosX > 500)
- {
- this.mKill();
- }
- }
- this.intRadius = 10;
-